import java.util.*;

public class Test1 {
    public static void main(String[] args) {
        //目前有100名囚犯，每个因犯的编号是1-200之间的随机数。现在要求依次随机生成100名因犯的编号(要求这些因犯的编号是不能重复的)，然后让他们依次站成一排。(注:位置是从1开始计数的)，
        //接下来，国王命令手下先干掉全部奇数位置处的人。剩下的人，又从新技位置1开始，再次干掉全部奇数位置处的人，依此类推，直到最后剩下一个人为止，剩下的这个人为幸存者。
        //具体功能点的要求如下:
        //请输出幸存者的编号，以及他第一次所占的位置值是多少。
        //评分细则  能做出第一步:生产100个随机编号，且占位成功的，给3分。     能成功删除奇数位置处的数据的，给5分。           能正确获取结果的给2分。

        // 先给这100个罪犯每人生成一个1-200内不重复的随机数
        Random random = new Random();
        List<Integer> List = new ArrayList<>();
        List<Integer> List1 = new ArrayList<>();

        while (true){
            Integer num = random.nextInt(200) + 1;
            if (List.contains(num)){
                continue;
            }
            List.add(num);
            if (List.size() == 100){
                break;
            }
        }
        System.out.println(List);
        System.out.println(List.size());
        System.out.println("最后一个人的数字是：" + List.get(63));

        // 此时List集合中就是这100个人
        while (true){
            if (List.size() == 1){
                break;
            }else {
                for (int i = 1; i < List.size(); i+=2) {
                    if (i % 2 == 0){
                        List.remove(i);
                    }
                }
            }
        }
        System.out.println(List);
        }
    }




















